[features/run] Align with main#2581
Merged
schweitzpgi merged 7 commits intoNVIDIA:features/runfrom Feb 3, 2025
Merged
Conversation
Signed-off-by: boschmitt <7152025+boschmitt@users.noreply.github.com>
* Manually tested following files: - test_braket.py - test_quera.py - braket.py with IQM/Garnet and IonQ/Forte-1 Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com> * Update runtime/cudaq/platform/default/rest/helpers/braket/BraketServerHelper.cpp Co-authored-by: Ryan Shaffer <3620100+rmshaffer@users.noreply.github.com> Signed-off-by: Pradnya Khalate <148914294+khalatepradnya@users.noreply.github.com> --------- Signed-off-by: Pradnya Khalate <pkhalate@nvidia.com> Signed-off-by: Pradnya Khalate <148914294+khalatepradnya@users.noreply.github.com> Co-authored-by: Ryan Shaffer <3620100+rmshaffer@users.noreply.github.com>
When bulding the `cudensitymat` backend, finding this header is a requirment. The build will fail otherwise. Signed-off-by: boschmitt <7152025+boschmitt@users.noreply.github.com>
* Fix tests Signed-off-by: Anna Gringauze <agringauze@nvidia.com> * Remove unneded file Signed-off-by: Anna Gringauze <agringauze@nvidia.com> * Update changed test output Signed-off-by: Anna Gringauze <agringauze@nvidia.com> --------- Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
Signed-off-by: Anna Gringauze <agringauze@nvidia.com>
* The QIR codegen is one of the oldest pieces of the project and really
shows its age at this point. It was written before much of the rest
of the core was implemented or even designed.
These changes replace the existing QIR codegen for the C++ compiler.
Unfortunately, there are a number of semantics violations from Python
that need to be fixed before it can be switched over. Therefore, this
PR leaves Python intact and using the old codegen passes.
The purpose of these changes is two-fold.
1. Instead of converting all of the IR to the LLVM-IR dialect at
the same time as converting to QIR, these two steps are bifurcated.
This allows us to convert the quake dialect to other higher level
operations first and before LLVM-IR dialect is introduced. This
will be beneficial in short order...
2. Instead of piecemealing different flavors of QIR in completely ad
hoc spaghetti plate passes, the flavor of QIR is specified as a
mixin modifier class for a singular set of steps to convert to any
flavor of QIR. This does mean that one will no longer be able to
convert to the LLVM-IR dialect with QIR calls and then change their
mind from chocolate QIR to strawberry QIR much later.
Notes:
- Remove the option to disable the qir profile preparation pass.
This pass is not optional. The IR will be translated to an
invalid state if the required function declarations are not
created at all.
- Make it clear that AggressiveEarlyInlining is a pipeline. Refactor
the registration functions so that we're not block-copying things
between the core and python (which was dropping things on the floor
already).
- Add a new pass, convert to QIR API.
This pass will replace the cascade of passes to convert to full QIR and
then convert some more to base profile or adaptive profile.
- Refactor QIRFunctionNames.h.
- Add a raft of declarations to the intrinsics table. This will
dramatically reduce the amount of code in codegen and make
maintenance much easier.
- Add the analysis and prep pass.
- Improve pipeline locality and performance.
- Use the new code in the default code gen path for C++.
- Workarounds for issue NVIDIA#2541 and issue NVIDIA#2539. Keep the old codegen for
python. Too many bugs.
- Update tests. Fix bugs in mock servers. Have python kernel builder add the
cudaq-kernel attribute. (See issue 2541.)
Signed-off-by: Eric Schweitz <eschweitz@nvidia.com>
---------
Signed-off-by: Eric Schweitz <eschweitz@nvidia.com>
schweitzpgi
approved these changes
Feb 3, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.